package info.bond.labs.ann;

import java.util.Vector;


/**
 * @author Andrey
 * 
 * 
 * @model
 */
public interface NeuralLayer {
	
	/**
	 * @model
	 */
	String getLayerName();
	
	/**
	 * @model
	 */
	int getRows();

	/**
	 * @model containment="true"
	 */
    public Vector<InputPatternListener> getAllInputs();

	/**
	 * @model containment="true"
	 */
    public Vector<OutputPatternListener> getAllOutputs();

	/**
	 * @model
	 */
	Monitor getMonitor();
	
	boolean addInputSynapse(InputPatternListener newListener);
	
	boolean addOutputSynapse(OutputPatternListener newListener);

	void removeOutputSynapse(OutputPatternListener newListener);

	void removeInputSynapse(InputPatternListener newListener);



}
